import { Context } from "@midwayjs/web"

export class BaseController {
  ctx: Context

  constructor(ctx: Context) {
    this.ctx = ctx
  }

  /**
   * 成功响应
   * @param data 返回数据
   * @param message 提示信息
   */
  success<T = any>(data?: T, message = 'ok'): IResponse<T> {
    return {
      success: true,
      message,
      data
    }
  }

  /**
   * 失败响应
   * @param message 错误信息
   * @param code 可选错误码
   */
  fail(message = 'error', code = 200): IResponse<null> {
    return {
      success: false,
      message,
      code
    }
  }
}
